﻿using MangioneManagement.Controllers;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
using Microsoft.VisualStudio.TestTools.UnitTesting.Web;
using MangioneManagement.Models;
using System.Web.Mvc;

namespace MangioneManagement.Tests.Controllers
{
    
    
    /// <summary>
    ///Se trata de una clase de prueba para CustomerControllerTest y se pretende que
    ///contenga todas las pruebas unitarias CustomerControllerTest.
    ///</summary>
	[TestClass()]
	public class CustomerControllerTest
	{


		private TestContext testContextInstance;

		/// <summary>
		///Obtiene o establece el contexto de la prueba que proporciona
		///la información y funcionalidad para la ejecución de pruebas actual.
		///</summary>
		public TestContext TestContext
		{
			get
			{
				return testContextInstance;
			}
			set
			{
				testContextInstance = value;
			}
		}

		#region Atributos de prueba adicionales
		// 
		//Puede utilizar los siguientes atributos adicionales mientras escribe sus pruebas:
		//
		//Use ClassInitialize para ejecutar código antes de ejecutar la primera prueba en la clase 
		//[ClassInitialize()]
		//public static void MyClassInitialize(TestContext testContext)
		//{
		//}
		//
		//Use ClassCleanup para ejecutar código después de haber ejecutado todas las pruebas en una clase
		//[ClassCleanup()]
		//public static void MyClassCleanup()
		//{
		//}
		//
		//Use TestInitialize para ejecutar código antes de ejecutar cada prueba
		//[TestInitialize()]
		//public void MyTestInitialize()
		//{
		//}
		//
		//Use TestCleanup para ejecutar código después de que se hayan ejecutado todas las pruebas
		//[TestCleanup()]
		//public void MyTestCleanup()
		//{
		//}
		//
		#endregion


		/// <summary>
		///Una prueba de Constructor CustomerController
		///</summary>
		// TODO: Asegúrese de que el atributo UrlToTest especifica una dirección URL de una página ASP.NET (por ejemplo, 
		// http://.../Default.aspx). Esto es necesario para ejecutar la prueba unitaria en el servidor web,
		// si va a probar una página, un servicio web o un servicio WCF.
		[TestMethod()]
		[HostType("ASP.NET")]
		[UrlToTest("http://localhost:2162")]
		public void CustomerControllerConstructorTest()
		{
			CustomerController target = new CustomerController();
			Assert.Inconclusive("TODO: Implementar código para comprobar el destino");
		}

		/// <summary>
		///Una prueba de Create
		///</summary>
		// TODO: Asegúrese de que el atributo UrlToTest especifica una dirección URL de una página ASP.NET (por ejemplo, 
		// http://.../Default.aspx). Esto es necesario para ejecutar la prueba unitaria en el servidor web,
		// si va a probar una página, un servicio web o un servicio WCF.
		[TestMethod()]
		[HostType("ASP.NET")]
		[UrlToTest("http://localhost:2162/Customer/Create")]
		public void CreateTest()
		{
			CustomerController target = new CustomerController(); // TODO: Inicializar en un valor adecuado
			Customer customer = null; // TODO: Inicializar en un valor adecuado
			ActionResult expected = null; // TODO: Inicializar en un valor adecuado
			ActionResult actual;
			actual = target.Create(customer,null);
			Assert.AreEqual(expected, actual);
			Assert.Inconclusive("Compruebe la exactitud de este método de prueba.");
		}

		/// <summary>
		///Una prueba de Create
		///</summary>
		// TODO: Asegúrese de que el atributo UrlToTest especifica una dirección URL de una página ASP.NET (por ejemplo, 
		// http://.../Default.aspx). Esto es necesario para ejecutar la prueba unitaria en el servidor web,
		// si va a probar una página, un servicio web o un servicio WCF.
		[TestMethod()]
		[HostType("ASP.NET")]
		[UrlToTest("http://localhost:2162/Customer/Create")]
		public void CreateTest1()
		{
			CustomerController target = new CustomerController(); // TODO: Inicializar en un valor adecuado
			ActionResult expected = null; // TODO: Inicializar en un valor adecuado
			ActionResult actual;
			actual = target.Create(null,null);
			Assert.AreEqual(expected, actual);
			Assert.Inconclusive("Compruebe la exactitud de este método de prueba.");
		}

		/// <summary>
		///Una prueba de Delete
		///</summary>
		// TODO: Asegúrese de que el atributo UrlToTest especifica una dirección URL de una página ASP.NET (por ejemplo, 
		// http://.../Default.aspx). Esto es necesario para ejecutar la prueba unitaria en el servidor web,
		// si va a probar una página, un servicio web o un servicio WCF.
		[TestMethod()]
		[HostType("ASP.NET")]
		[UrlToTest("http://localhost:2162")]
		public void DeleteTest()
		{
			CustomerController target = new CustomerController(); // TODO: Inicializar en un valor adecuado
			int id = 0; // TODO: Inicializar en un valor adecuado
			ActionResult expected = null; // TODO: Inicializar en un valor adecuado
			ActionResult actual;
			actual = target.Delete(id);
			Assert.AreEqual(expected, actual);
			Assert.Inconclusive("Compruebe la exactitud de este método de prueba.");
		}

		/// <summary>
		///Una prueba de DeleteConfirmed
		///</summary>
		// TODO: Asegúrese de que el atributo UrlToTest especifica una dirección URL de una página ASP.NET (por ejemplo, 
		// http://.../Default.aspx). Esto es necesario para ejecutar la prueba unitaria en el servidor web,
		// si va a probar una página, un servicio web o un servicio WCF.
		[TestMethod()]
		[HostType("ASP.NET")]
		[UrlToTest("http://localhost:2162")]
		public void DeleteConfirmedTest()
		{
			CustomerController target = new CustomerController(); // TODO: Inicializar en un valor adecuado
			int id = 0; // TODO: Inicializar en un valor adecuado
			ActionResult expected = null; // TODO: Inicializar en un valor adecuado
			ActionResult actual;
			actual = target.DeleteConfirmed(id);
			Assert.AreEqual(expected, actual);
			Assert.Inconclusive("Compruebe la exactitud de este método de prueba.");
		}

		/// <summary>
		///Una prueba de Details
		///</summary>
		// TODO: Asegúrese de que el atributo UrlToTest especifica una dirección URL de una página ASP.NET (por ejemplo, 
		// http://.../Default.aspx). Esto es necesario para ejecutar la prueba unitaria en el servidor web,
		// si va a probar una página, un servicio web o un servicio WCF.
		[TestMethod()]
		[HostType("ASP.NET")]
		[UrlToTest("http://localhost:2162")]
		public void DetailsTest()
		{
			CustomerController target = new CustomerController(); // TODO: Inicializar en un valor adecuado
			int id = 0; // TODO: Inicializar en un valor adecuado
			ViewResult expected = null; // TODO: Inicializar en un valor adecuado
			ViewResult actual;
			actual = target.Details(id);
			Assert.AreEqual(expected, actual);
			Assert.Inconclusive("Compruebe la exactitud de este método de prueba.");
		}

		/// <summary>
		///Una prueba de Dispose
		///</summary>
		// TODO: Asegúrese de que el atributo UrlToTest especifica una dirección URL de una página ASP.NET (por ejemplo, 
		// http://.../Default.aspx). Esto es necesario para ejecutar la prueba unitaria en el servidor web,
		// si va a probar una página, un servicio web o un servicio WCF.
		[TestMethod()]
		[HostType("ASP.NET")]
		[UrlToTest("http://localhost:2162")]
		[DeploymentItem("MLManagement.dll")]
		public void DisposeTest()
		{
			CustomerController_Accessor target = new CustomerController_Accessor(); // TODO: Inicializar en un valor adecuado
			bool disposing = false; // TODO: Inicializar en un valor adecuado
			target.Dispose(disposing);
			Assert.Inconclusive("Un método que no devuelve ningún valor no se puede comprobar.");
		}

		/// <summary>
		///Una prueba de Edit
		///</summary>
		// TODO: Asegúrese de que el atributo UrlToTest especifica una dirección URL de una página ASP.NET (por ejemplo, 
		// http://.../Default.aspx). Esto es necesario para ejecutar la prueba unitaria en el servidor web,
		// si va a probar una página, un servicio web o un servicio WCF.
		[TestMethod()]
		[HostType("ASP.NET")]
		[UrlToTest("http://localhost:2162")]
		public void EditTest()
		{
			CustomerController target = new CustomerController(); // TODO: Inicializar en un valor adecuado
			int id = 0; // TODO: Inicializar en un valor adecuado
			ActionResult expected = null; // TODO: Inicializar en un valor adecuado
			ActionResult actual;
			actual = target.Edit(id);
			Assert.AreEqual(expected, actual);
			Assert.Inconclusive("Compruebe la exactitud de este método de prueba.");
		}

		/// <summary>
		///Una prueba de Edit
		///</summary>
		// TODO: Asegúrese de que el atributo UrlToTest especifica una dirección URL de una página ASP.NET (por ejemplo, 
		// http://.../Default.aspx). Esto es necesario para ejecutar la prueba unitaria en el servidor web,
		// si va a probar una página, un servicio web o un servicio WCF.
		[TestMethod()]
		[HostType("ASP.NET")]
		[UrlToTest("http://localhost:2162")]
		public void EditTest1()
		{
			CustomerController target = new CustomerController(); // TODO: Inicializar en un valor adecuado
			Customer customer = null; // TODO: Inicializar en un valor adecuado
			ActionResult expected = null; // TODO: Inicializar en un valor adecuado
			ActionResult actual;
			actual = target.Edit(customer);
			Assert.AreEqual(expected, actual);
			Assert.Inconclusive("Compruebe la exactitud de este método de prueba.");
		}

		/// <summary>
		///Una prueba de Index
		///</summary>
		// TODO: Asegúrese de que el atributo UrlToTest especifica una dirección URL de una página ASP.NET (por ejemplo, 
		// http://.../Default.aspx). Esto es necesario para ejecutar la prueba unitaria en el servidor web,
		// si va a probar una página, un servicio web o un servicio WCF.
		[TestMethod()]
		[HostType("ASP.NET")]
		[UrlToTest("http://localhost:2162")]
		public void IndexTest()
		{
			CustomerController target = new CustomerController(); // TODO: Inicializar en un valor adecuado
			ViewResult expected = null; // TODO: Inicializar en un valor adecuado
			ViewResult actual;
			actual = target.Index(null);
			Assert.AreEqual(expected, actual);
			Assert.Inconclusive("Compruebe la exactitud de este método de prueba.");
		}
	}
}
